package com.rw.advice;

import com.sun.jdi.Field;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

import java.lang.reflect.Method;

/**
 *导入的包是aop下的包
 * @author rabit
 */
public class RoundAdvice implements MethodInterceptor {
    @Override
    public Object invoke(MethodInvocation methodInvocation) throws Throwable {
        //编写的是前置通知的部分的代码
        System.out.println("环绕执行的前置方法");
        //methodInvocation.proceed()执行的真实对象的方法
        //proceed 表示的真实对象的切点方法返回结果
        Object proceed = methodInvocation.proceed();
        //编写的是后置通知的代码
        System.out.println("环绕执行的后置方法");
        return proceed;
    }
}
